package cn.core.tool.ao;

import cn.core.tool.util.CoreTool;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Collection;

/**
 * 数据导出 参数类
 */
@Data
@Accessors(chain = true)
public class DataExportAO<T> implements Serializable {

  private static final long serialVersionUID = 1L;

  /**
   * 大数据导出
   */
  protected Boolean bigDataExport;

  /**
   * 文件模块
   */
  protected String fileModule;

  /**
   * 文件名
   */
  protected String fileName;

  /**
   * 数据导出字段配置
   */
  protected Collection<DataExportFieldAO> dataExportFieldConf;

  /**
   * 数据
   */
  protected Collection<T> data;

  public T get() {
    return CoreTool.isNotEmpty(this.data) ? this.data.iterator().next() : null;
  }

}
